In an interactive cable television (CATV) system, which is a representative example of digital interactive communications, TV terminals are equipped with an encryption facility to implement the encryption function. For the encryption function, used is a scheme combining a secret key cryptographic scheme represented by the Data Encryption Standard (DES) and a public key cryptographic scheme represented by Rivest-Shamir-Adleman (RSA) cryptography.
The secret key cryptographic scheme is a scheme using a common key for both encryption and decryption, in which decryption is performed by executing an encryption algorithm in reverse order using the key used for encryption, to obtain the pre-encrypted original text. This scheme, which is implemented with a simple exclusive-OR (XOR) repeating algorithm, permits high-speed processing, but has a problem that both the transmitter and receiver sides must possess the common key and thus delivery/holding of the key is difficult.
The public key cryptographic scheme uses a function, called a trapdoor function, which can be easily computed but of which inverse is extremely difficult to compute, and uses different keys for encryption and decryption. In this scheme, therefore, while delivery/holding of the keys are easy, computation is complicated compared with the secret key cryptographic scheme. Hence, it takes longer time to perform encryption/decryption compared with the secret key cryptographic scheme. It is however possible to make full use of the advantages of the above two schemes. That is, the public key cryptographic scheme may be used for verification and key delivery, and the secret key cryptographic scheme may be used for encryption of data.
In the DES cryptographic scheme, which is a US standard scheme, computation of an input data size of 64 bits and an output data size of 64 bits is performed as the basic processing. In this cryptographic scheme, if only a distribution of the frequencies of occurrences of characters or words is statistically processed in advance for an encryption algorithm, a pre-encrypted plaintext may possibly be estimated by performing matching of a frequency distribution of a character string pattern in an acquired ciphertext with the previously-obtained frequency distribution.
To overcome the above problem, invented was a method of computing XOR of an encrypted 64-bit cipher block and next input 64-bit data and preparing a ciphertext. The cipher mode using this method is called Cipher Block Chaining (CBC) mode. There are cases, such as packet communications, that the data unit used for communications is determined in advance. When the block encryption scheme handling 64 bits as one block is adopted in such cases, odd data failing to reach one block will be produced if a data unit indivisible by the number of bits of one block (64 bits) is input.
If data has an odd portion, XOR is executed between the decrypted result of the immediately preceding block and the odd data, to perform encryption. Cipher Feedback (CFB) mode is a mode suitable for such odd processing. By adopting the CFB mode, a ciphertext can be produced even from data of less than 64 bits.
In both encryption and decryption computation, 56-bit data is normally used as a key. Under specific conditions, however, there is a mode using 40-bit data as a key. In this mode, the valid data of the key is 40 bits although computation itself is performed in 64-bit units as in other modes.
As described above, in computation in the secret key cryptographic scheme, there exist modes corresponding to respective combinations between each one of the plurality of modes of operation, that is, the ECB mode, the CBC mode and the CFB mode and each one of the 56-bit key mode and the 40-bit key mode. To ensure the security function of the digital interactive communications, encryption devices or decryption devices supporting all of these modes are generally used.
A related technology is disclosed in U.S. Pat. No. 5,835,599, for example.